An Emacs buffer can have but one
working directory, stored in the buffer-local variable
default-directory. A Dired buffer may have several
subdirectories inserted, but it still has only one working
directory: that of the top-level Dired directory in that buffer.
For some commands it is appropriate that they use the current
Dired directory instead of default-directory, e.g.,
find-file and compile.
A general mechanism is provided for special handling of the working directory in special major modes:
default-directory-alist((dired-mode . (dired-current-directory)))
Alist of major modes and their notion of
default-directory, as a Lisp expression to
evaluate. A resulting value of nil is ignored in
favor of default-directory.
dired-default-directorydefault-directory, except that
dired-default-directory also consults the variable
default-directory-alist.